package com.fortune.common.spring.jackson.serializer;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fortune.constants.Constants;

public class DateSerializer extends JsonSerializer<Date> {

	@Override
	public void serialize(Date date, JsonGenerator gen, SerializerProvider serializers)
			throws IOException, JsonProcessingException {
		if (date==null) {
			gen.writeString("");
		}
//		SimpleDateFormat sdf = new SimpleDateFormat(Constants.DATE_FORMAT_SECOND);
		SimpleDateFormat sdf = new SimpleDateFormat(Constants.DATE_FORMAT_DAY);
		String value = sdf.format(date);
		if (value==null) {
			gen.writeString("");
			return;
		}else if (value.endsWith(" 00:00:00")) {
			value = value.substring(0, value.length()-" 00:00:00".length());
		}
		gen.writeString(value);
	}

	@Override
	public Class<Date> handledType() {
		return Date.class;
	}
	
}
